Processing signals is an important function of many digital devices. For example a digital device can process signals which relate to certain external conditions, in order for the digital device to obtain information about the surrounding environment or to communicate with another device, or with a human user.
Usually, signals that indicate external conditions are obtained in analog format and converted to digital format for processing. The analog signals can be provided from various analog sensing circuits. For example, a multi touch sensor panel can include an array of sensors, each sensor being an analog sensing circuit.
While in many digital devices a microprocessor controls the timing of information transfer, this is usually not the case when the analog signals discussed above are processed, because often the analog signals are in the form of an un-interrupted stream of information. Thus, often there are significant timing constraints when a processor processes signals indicating external conditions.
The analog signals are usually converted to digital signals before being processed. In many cases the digital format conversion of the analog signals results in relatively large amounts of data. This is the case because analog signals are usually very dense in terms of the amount of data they can hold, and before more complex processing steps are taken it can not be known which portions of the analog signals and their digital representation comprise useful data and which do not.
The relatively large size of the resulting digital signal provides further timing constraints. More particularly, signals must be stored in memory before they are processed and memory storage takes time. Additionally, the large size of the digital signals also creates memory constraints and tends to increase memory requirements, and subsequently the cost of the device.